home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / basic / pbtool.exe / CLEAR.BAS < prev    next >
BASIC Source File  |  1992-02-17  |  4KB  |  154 lines

  1. '----------------------------------------------------------
  2. '  PROGRAM: CLEAR.BAS          PROGRAMMER: A. KELLETT
  3. '  DATE-WRITTEN: 02/17/92
  4. '  USING POWER BASIC V2.10A
  5. '
  6. '  THIS PROGRAM DEMONSTRATES DIFFERENT WAYS TO CLEAR A TEXT
  7. '  SCREEN.  INCLUDE ANY/ALL THE SUBROUTINES IN YOUR PROGRAM.
  8. '  CALL THEM WITHIN YOUR PROGRAM INSTEAD OF USING THE CLS
  9. '  STATEMENT.
  10. '  VERSION: 1.00    LAST UPDATED: 00/00/00
  11. '----------------------------------------------------------
  12.  
  13. CALL FILLSCREEN("A")
  14. CALL CLEARBOTTOMTOP
  15.  
  16. CALL FILLSCREEN("B")
  17. CALL CLEARIN
  18.  
  19. CALL FILLSCREEN("C")
  20. CALL CLEARLEFTRIGHT
  21.  
  22. CALL FILLSCREEN("D")
  23. CALL CLEARMOUT
  24.  
  25. CALL FILLSCREEN("E")
  26. CALL CLEAROUT
  27.  
  28. CALL FILLSCREEN("F")
  29. CALL CLEAROUTM
  30.  
  31. CALL FILLSCREEN("G")
  32. CALL CLEARRIGHTLEFT
  33.  
  34. CALL FILLSCREEN("H")
  35. CALL CLEARTOPBOTTOM
  36.  
  37. LOCATE 19,30:PRINT "THANKS... CLEAR.BAS FROM PBTOOL PKG."
  38.  
  39. END
  40. '=================  SUBROUTINES FOLLOWING  ===============
  41. '
  42. '  CLEARS THE SCREEN FROM BOTTOM TO TOP
  43. '----------------------------------------------------------
  44. SUB CLEARBOTTOMTOP
  45.    LOCAL I%
  46.    FOR I% = 25 TO 1 STEP -1
  47.       LOCATE I%,1:PRINT STRING$(80," ");
  48.       DELAY .05   '** REMOVE DELAY IF NEEDED **
  49.    NEXT I%
  50. END SUB
  51. '
  52. '  CLEARS THE SCREEN FROM TOP & BOTTOM TO MIDDLE
  53. '----------------------------------------------------------
  54. SUB CLEARIN
  55.    LOCAL I%, J%
  56.    J% = 25
  57.    FOR I% = 1 TO 12
  58.       LOCATE I%,1:PRINT STRING$(80," ");
  59.       LOCATE J%,1:PRINT STRING$(80," ");
  60.       DELAY .05   '** REMOVE DELAY IF NEEDED **
  61.       J% = J% - 1
  62.    NEXT I%
  63.    LOCATE 13,1:PRINT STRING$(80," ");
  64. END SUB
  65. '
  66. '  CLEARS THE SCREEN FROM LEFT TO RIGHT
  67. '----------------------------------------------------------
  68. SUB CLEARLEFTRIGHT
  69.    LOCAL I%, J%
  70.    FOR I% = 1 TO 80
  71.       FOR J% = 1 TO 25
  72.          LOCATE J%, I%:PRINT " ";
  73.       NEXT J%
  74.    NEXT I%
  75. END SUB
  76. '
  77. '  CLEARS THE SCREEN FROM CENTER TO BOTH SIDES
  78. '----------------------------------------------------------
  79. SUB CLEARMOUT
  80.    LOCAL I%, J%, K%
  81.    K% = 41
  82.    FOR I% = 40 TO 1 STEP -1
  83.       FOR J% = 1 TO 25
  84.          LOCATE J%, I%:PRINT " ";
  85.          LOCATE J%, K%:PRINT " ";
  86.       NEXT J%
  87.       K% = K% + 1
  88.    NEXT I%
  89. END SUB
  90. '
  91. '  CLEARS THE SCREEN FROM MIDDLE TO TOP & BOTTOM
  92. '----------------------------------------------------------
  93. SUB CLEAROUT
  94.    LOCAL I%, J%
  95.    J% = 13
  96.    FOR I% = 12 TO 1 STEP -1
  97.       LOCATE I%,1:PRINT STRING$(80," ");
  98.       LOCATE J%,1:PRINT STRING$(80," ");
  99.       DELAY .05   '** REMOVE DELAY IF NEEDED **
  100.       J% = J% + 1
  101.    NEXT I%
  102.    LOCATE 25,1:PRINT STRING$(80," ");
  103. END SUB
  104. '
  105. '  CLEARS THE SCREEN FROM BOTH SIDES TO CENTER
  106. '----------------------------------------------------------
  107. SUB CLEAROUTM
  108.    LOCAL I%, J%, K%
  109.    K% = 80
  110.    FOR I% = 1 TO 40
  111.       FOR J% = 1 TO 25
  112.          LOCATE J%, I%:PRINT " ";
  113.          LOCATE J%, K%:PRINT " ";
  114.       NEXT J%
  115.       K% = K% - 1
  116.    NEXT I%
  117. END SUB
  118. '
  119. '  CLEARS THE SCREEN FROM RIGHT TO LEFT
  120. '----------------------------------------------------------
  121. SUB CLEARRIGHTLEFT
  122.    LOCAL I%, J%
  123.    FOR I% = 80 TO 1 STEP -1
  124.       FOR J% = 1 TO 25
  125.          LOCATE J%, I%:PRINT " ";
  126.       NEXT J%
  127.    NEXT I%
  128. END SUB
  129. '
  130. '  CLEARS THE SCREEN FROM TOP TO BOTTOM
  131. '----------------------------------------------------------
  132. SUB CLEARTOPBOTTOM
  133.    LOCAL I%
  134.    FOR I% = 1 TO 25
  135.       LOCATE I%,1:PRINT STRING$(80," ");
  136.       DELAY .05  '** REMOVE DELAY IF NEEDED **
  137.    NEXT I%
  138. END SUB
  139. '
  140. '  FILLS THE SCREEN WITH SPECIFIED CHARACTER, PAUSES BRIEFLY
  141. '----------------------------------------------------------
  142. SUB FILLSCREEN(CHAR$)
  143.    CLS
  144.    FOR I% = 1 TO 1920
  145.       PRINT CHAR$;:
  146.    NEXT I%
  147.    FOR J% = 3 TO 1 STEP -1
  148.       LOCATE 25,30:PRINT USING "PLEASE WAIT : ## ";J%;
  149.       DELAY .99
  150.       '*** PAUSE FOR KEYPRESS ***
  151.    NEXT J%
  152. END SUB
  153.  
  154.